// 
// const target = [1, 1, 2, 3, 1, 2, 3, 4];
/* function countNum(arr) {
    const rst = new Map()
    arr.forEach((value, key, arr) => {
        let n = rst.get(value) ? rst.get(value) : 0;
        n++;
        rst.set(value, n)
    })
    return rst;
} */
//
// const url = "http://www.xxx.com/?a=3&b=5&c=4&bb#hash";
// 解析成 {a: '3', b: '5', c: '4', bb: ''}
/* function analyzeUrl(url) {
    let queryArr = url.split('?')
    if (queryArr.length === 1) {
        return
    }
    let queryStr = queryArr[1].split('#')[0]
    let querys = queryStr.split('&')
    const rst = {}
    for (let v of querys) {
        let q = v.split('=')
        if (q.length >= 2) {
            rst[q[0]] = q[1]
        } else {
            rst[q[0]] = ""
        }
    }
    return rst
} */
// analyzeUrl(url)
// ？？BFC DFC
// 将 A-Z 转化成 26进制数字
// ZZ -702 AA -27
function AZStrTransferToNum(AZStr) {
    // 字符串循环
    let sum = 0;
    for (let i = 0; i < AZStr.length; ++i) {
        const t = AZStr.charCodeAt(i) - 64, k = t * (26 ** i);
        // Math.pow(26,i)
        sum += k;
    }
}
// 



